// pages/activity/activity.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    active:0,//状态栏参数
    isLoading:false,//请求的节流处理
    activities:[] //活动数组
  },
  //前往活动详情界面
  goToDatial(e){
    // 获取通过data-*传递的参数
    const activity = e.currentTarget.dataset.activity;
    // 将对象转为JSON字符串并编码
    const payload = encodeURIComponent(JSON.stringify(activity));
    wx.navigateTo({
      url: `/subpkg/pages/act-detail/act-detail?payload=${payload}`,
    })
  },

  goToDatial1(){
    wx.navigateTo({
      url: "/subpkg/pages/act-detail/act-detail",
    })
  },

  //获取活动
  getActivities() {
    wx.request({
      url: 'http://localhost:3000/api/activities',
      method: 'GET',
      success: (res) => {  // 使用箭头函数
        this.setData({
          activities: res.data
        });
        console.log(res.data);
      },
      fail: (error) => {  // 同样处理 fail
        console.error('请求失败', error);
      }
    });
  },
  
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getActivities()
  },
  
  //下拉触底事件
  getactivities(){
    this.setData({
      isLoading:true
    })
    wx.showLoading({
      title: '正在加载'
    })
    complete:()=>{
      wx.hideLoading()
      this.setData({
        isLoading:false
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    wx.stopPullDownRefresh()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    if(this.data.isLoading) return
    this.getactivities()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  /* 以下为更新内容 */
  data: {
    navList: ['正在进行', '即将开始', '已结束'],
    nav_type: 0,//默认选中第一个数据
    isFixed: false,//是否吸顶
    navTop: 0,//nav菜单距离顶部距离
  },
  changeType(e) {
    let { index } = e.currentTarget.dataset;
    if (this.data.nav_type == index || index == undefined) return;
    this.setData({
      nav_type: index
    })
    if (this.data.isFixed) {
      wx.pageScrollTo({
        selector: '#content',
        duration: 0.5//滚动动指定位置需要时间
      })
    }
  },
  onReady() {
    // 获取节点距离顶部的距离
    wx.createSelectorQuery().select("#nav").boundingClientRect((rect) => {
      if (rect && rect.top) {
        this.setData({
          navTop: parseInt(rect.top)
        })
      }
    }).exec()
  },
  // 监听页面滚动事件
  onPageScroll(e) {
    let scrollTop = parseInt(e.scrollTop),
      isFixed = scrollTop >= this.data.navTop;
    if (this.data.isFixed !== isFixed) {
      this.setData({
        isFixed
      })
    }
  }

})